/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Modelos;

import DataBase.OrdenDB;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 *
 * @author juanjo
 */
public class Orden {
    private int idOrden;
    private Carrito carrito;
    private InfoOrden[] infoOrden;
    private int idCliente;
    private int total;
   
 
    public Orden() {
        this.infoOrden=null;
        this.carrito=null;
        this.idCliente=-1;
    }
    public Orden(int idOrden, int idCliente, int total) {
        this.infoOrden=null;
        this.carrito=null;
        this.idOrden=idOrden;
        this.idCliente=idCliente;
        this.total=total;
    }
    
    public Orden(Carrito carrito, int idCliente) {
        this.infoOrden=null;
        this.carrito=carrito;
        this.idCliente=idCliente;
    }
    
    public void guardaOrden(){
        OrdenDB.GuardaOrden(this);
        idOrden = OrdenDB.GetIdOrden();
       
    }
    
    public void creaInfoOrden(){
        HashMap productos = carrito.getProductos();
         Producto p;
        int cantidad;
        InfoOrden io;
        int cont =0;
        int i=0;
        Iterator it = productos.entrySet().iterator();
        while (it.hasNext()) {
            it.next();
            cont++;
        }
        infoOrden = new InfoOrden[cont];
        it = productos.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry pares = (Map.Entry)it.next();
            p = (Producto) pares.getValue();
            io = new InfoOrden(idOrden,p.getId(),p.getCantidad(),p.getPrecio());
            io.guardaInfoOrden();
            infoOrden[i]=io;
            i++;
        }
        
    }

    public int getIdCliente() {
        return idCliente;
    }

    public void setIdCliente(int idCliente) {
        this.idCliente = idCliente;
    }

    public Carrito getCarrito() {
        return carrito;
    }

    public void setCarrito(Carrito carrito) {
        this.carrito = carrito;
    }

    public InfoOrden[] getInfoOrden() {
        return infoOrden;
    }

    public void setInfoOrden(InfoOrden[] infoOrden) {
        this.infoOrden = infoOrden;
    }

    public int getIdOrden() {
        return idOrden;
    }

    public void setIdOrden(int idOrden) {
        this.idOrden = idOrden;
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }
    
    
    
}
